home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / microcrn / issue_46.arc / 86WRLD46.ARC / 86WORLD.9 < prev   
Encoding:
Text File  |  1988-05-11  |  796 b   |  25 lines

  1. /* 86WORLD Figure 9 - ReadGemFont
  2.    Micro Cornucopia Magazine Issue #46 */
  3.  
  4. /*--- Read a GEM font file into global arrays ----------*/
  5. GemFontHeader GemFont;
  6. char bitmap[32767];   /* watch out you don't read anything bigger */
  7. int  chofstable[256+1];
  8.  
  9. void ReadGemFont(char filename[])
  10.   {
  11.   FILE* fin = fopen(filename,"rb");
  12.   /* read header info */
  13.   fread(&GemFont, sizeof(GemFont), 1, fin);
  14.   /* read horizontal offset table */
  15.   fseek(fin, GemFont.gfCharOfsTable, SEEK_SET);
  16.   fread(&chofstable,
  17.         (GemFont.gfLastChar-GemFont.gfFirstChar+2)*2, 1, fin);
  18.   /* read bitmap */
  19.   int bitmapsize =  GemFont.gfFormWidth * GemFont.gfFormHeight;
  20.   fseek(fin, GemFont.gfBitsOffset, SEEK_SET);
  21.   fread(&bitmap, bitmapsize, 1, fin);
  22.   fclose(fin);
  23.   } /* ReadGemFont */
  24.  
  25.